package com.eastfair.home.service;

import com.eastfair.boot.service.SuperService;
import com.eastfair.home.dto.BoothAcceptanceRecordDTO;
import com.eastfair.home.dto.SupervisionItemManagementDTO;
import com.eastfair.home.dto.SupervisionItemManagementQuery;
import com.eastfair.home.entity.SupervisionItemManagement;
import com.eastfair.home.vo.SupervisionItemManagementVO;
import com.eastfair.home.vo.SupervisionItemQuestionVO;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 监督项管理
 * </p>
 *
 * @author linan
 * @date 2022-11-29
 */
public interface SupervisionItemManagementService extends SuperService<SupervisionItemManagement> {
    /**
     * do转vo
     *
     * @param model
     */
    SupervisionItemManagementVO doToVo(SupervisionItemManagement model);

    /**
     * do转vo
     *
     * @param modelList
     */
    List<SupervisionItemManagementVO> doToVos(List<SupervisionItemManagement> modelList);


    /**
     * 通用查询
     *
     * @param modelDTO DTO
     * @param ids      主键id集合
     * @return list
     */
    List<SupervisionItemManagement> list(SupervisionItemManagementDTO modelDTO, List<Long> ids);

    /**
     * 通用查询
     *
     * @param modelDTO DTO
     * @param ids      主键id集合
     * @return list
     */
    List<SupervisionItemManagement> listOfCache(SupervisionItemManagementDTO modelDTO, List<Long> ids);

    /**
     * 保存监督项管理
     * @param dto dto
     * @return Boolean
     */
    Boolean saveSupervisionItemManagement(SupervisionItemManagementDTO dto);

    /**
     * 查询监督项管理
     * @param query
     * @return
     */
    List<SupervisionItemManagementVO> getSupervisionItemManagement(SupervisionItemManagementQuery query);

    /**
     * 更新监督项管理启用状态
     * @param dto
     * @return
     */
    Boolean updateSupervisionItemManagement(SupervisionItemManagementDTO dto);

    /**
     * 查询问卷
     * @param boothAcceptanceRecordDTO
     * @return
     */
    List<SupervisionItemQuestionVO> queryQuestion(SupervisionItemManagementQuery boothAcceptanceRecordDTO);
}
